const mongoose=require("mongoose");
mongoose.connect("mongodb://localhost/test");
mongoose.Promise=Promise;
// var userSchema=mongoose.Schema({
//   name:String,
//   age:Number,
//   formChina:Boolean,
//   arry:Array,
//   arry1:[],
//   arry2:[Number],
//   arry3:[{title:String,content:String}]
//   arry4:{title:String,content:String}
// });
// var User=mongoose.model("User",userSchema);

var User=mongoose.model("User",{
  name:String,
  age:Number,
  formChina:Boolean,
  arry:Array,
  arry1:[],
  arry2:[Number],
  arry3:[{title:String,content:String}],
  arry4:{title:String,content:String}
});

var u1=new User({
    name:123,//会自动转换成字符串 "123"
    age:"90",//会自动转换成90
    arry3:[{title:333}],//传入的数据可以少，但不可以多，所以arry3可以写入数据库
    // arry2:[777,333,"90a"],//"90a"无法转换成Number类型，所以arry2这个数据无法写入数据库
    arry4:{content:"hello",name:"111"}//"name"在Schema里面未定义，所以也无法写入数据库，但是content有定义，可以写入.
});

    async function run(){
        await User.remove();
        await u1.save();
        //通过create方法可以直接定义数据存储对象并上传到数据库,返回的是一个数组，保存着create定义的数据数据对象
        const list=await User.create([
          {name:"jjj",age:333},
          {name:"xxx",age:222}
        ]);
        console.log(list);
        //返回一个数组，包含着所有User类的数据对象
        const list2=await User.find();
        console.log(list2);
    }

    run();
